<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数式组件</title>
</head>
<body>
     <!-- 引入React核心库 -->
     <script src="../JS/react.development.js"></script>
     <!-- 引入ReactDOM，用于支持react操作DOM -->
     <script src="../JS/react-dom.development.js"></script>
     <!-- 引入babel 用于将书写的JSX语法 编译成JS语法 -->
     <script src="../JS/babel.min.js"></script>


     <div id="test">

     </div>

     <script type="text/babel">
        /*
            定义函数组件的时候 函数首字母必须大写 ,原因看JSX语法规则,大写组件 小写标签
            注意一点 第一种情况下的 不会被开发者 工具视为组件
        */



        // 第一种情况
        function demo(){
            return <h1>我是用函数定义的组件(适用于[简单组件]的定义)</h1>
        }
        ReactDOM.render(demo(),document.getElementById('test'))
        // 第二种情况(常用情况,正常情况)
        function Mycomponent(){
            console.log(this)               //此处的this是undefined,因为babel编译后 开启了严格模式 (严格模式:ES5自带的模式,不允许组件的this指向window)
            return <h1>我是用函数定义的组件(适用于[简单组件]的定义)</h1>
        }
        ReactDOM.render(<Mycomponent/>,document.getElementById('test'))



     </script>

</body>
</html>